home *** CD-ROM | disk | FTP | other *** search
- --------------------------------------------------------------------------------
- INSTALL.TXT DPMI-RSX (c) Rainer Schnitker Feb 1994
- --------------------------------------------------------------------------------
-
- This file contains information about:
-
- * Hardware Requirements
- * Software Requirements
- * Create more DPMI memory
- * INSTALL for EMX/GCC
- * INSTALL for DJGPP
- * Major bugs in tested DPMI-Hosts
- * Patch for next EMX-Update
- * Error messages from RSX
-
-
-
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
-
-
- --------------------------------------------------------------------------------
-
-
-
- Hardware Requirements:
- ----------------------
-
- - RSX requires a 386SX-CPU (or higher)
-
- (A 387 coprocessor is not necessary, because RSX emulates it)
-
-
-
-
- Software Requirements:
- ----------------------
-
- - A DPMI 0.9/1.0 - Server like:
-
- MS-Windows 3.1 enhanced mode
-
- QEMM386 + QDPMI 1.01
-
- 386MAX 6.x, 7.x
-
- OS/2 2.x
-
- To use the 387-emulator the DPMI-server must provide DPMI 1.0 floating-point
- extensions (most 0.9 server support this).
-
- - DOS 3.3+ or DOS box emulation
-
- - A GNU-C port for DOS like EMX/GCC 0.8e-h or DJGPP 1.06-1.11
-
- or any EMX program that should run under DPMI (like TeX386).
-
-
-
-
- Create more DPMI memory: (needed for older DJGPP)
- ------------------------
-
- MS-Windows 3.1:
- You can set the value PageOverCommit in the system.ini [386Enh] section
- PageOverCommit=8 (default=4)
-
- Specifies the multiplier for determining the amount of linear address space.
- The amount of linear address space is computed by rounding up the amount of
- available physical memory to the nearest 4 megabytes and then by multiplying
- that value to the value specified for this setting.
-
- After that, increase the permanent Swapfile (Control Panel / 386).
-
- Also you can create a smaller DOS-Box. PIF-settings:
- - 400 KB DOS memory maximum [200 KB without rsx387]
- (if you only want to run small DOS programs in RSX)
- - EMS=0 ; XMS=0 ; no High-Memory-Area
-
-
- 386MAX 7.0:
- To increase memory you must have a SWAPFILE line in your 386MAX.PRO file
- SWAPFILE=C:\386MAX\386MAX.swp /S=10240
- This creates a 10MB swapfile. The size of the virtual swapfile is the
- amount of virtual memory available to your applications.
-
- QEMM + QDPMI:
- Set the environment QDPMI to something like
- QDPMI=SWAPFILE c:\tmp\qdpmi.swp 8192
- This creates a 8 MB swapfile. The sum of the value of availble memory and
- the size of the virtual swapfile is the amount of virtual memory available
- to your applications.
-
- OS/2:
- DPMI_DOS_API must have the value AUTO or ON
- DPMI_MEMORY_LIMIT default value is 64 MB, you don't need to change it
- EMS,XMS is not needed.
-
-
-
-
- INSTALL for EMX/GCC:
- --------------------
-
- 1) Set the environment RSX387, if a 387-emulation is required
- RSX387=C:\RSX\FPU-EMU\RSX387
- You can disable the FPU-EMU with the '-e' command-line switch.
-
- 2) There are two ways to run RSX from bound exe-files:
-
- a) Use emxl.exe from EMX-0.8H.
- If the emxl.exe detects only DPMI it runs RSX.EXE, otherwise EMX.EXE.
- emxl.exe must found RSX.EXE in the current directory or in the PATH.
- Also you can use the Environment RSX=<path>\RSX.EXE (like EMX).
- See also \emx\doc\EMXRT.DOC in EMXRT.ZIP.
-
- b) Set the environment variable EMX to RSX.EXE like
- EMX = C:\RSX\BIN\RSX.EXE .
- Now, bound EXE-files run the RSX-extender instead of EMX. A special PATH
- statement is not necessary.
-
- If you have no coprocessor and you want run the gcc compiler this method
- is recommend. Also you can use the stub emxldpmi.exe. This stub runs
- always RSX, if there is a DPMI-server.
-
-
- Notes:
- (a) Note that the default stack is 60 KB. If you need more space, use
- the -s option to grow the stack, or set a environment-var RSXOPT.
- Example: RSXOPT=-s256 sets the stack to 256 Kbytes.
- (see rsxcmds.txt).
-
-
-
- INSTALL for DJGPP:
- ------------------
-
- 1) Set environment RSX387, if 387-emulation is required.
- RSX387=C:\RSX\FPU-EMU\RSX387
-
- 2) Bound executable must find RSX.EXE in the PATH or current directory.
- Copy the binary files from \rsx\bin to your \djgpp\bin directory.
- Or change the PATH to \rsx\bin.
-
- 3) Creating bound executable:
- a) For go32 version 1.11 you can use the tools coff2exe, stubedit.
- To create a gcc compiler for RSX.EXE do this:
- C:\GCC\BIN> xcopy gcc.exe gccdpmi.exe
- C:\GCC\BIN> stubedit gccdpmi.exe extender=rsx
-
- b) for older versions:
- You must use the new stub STUBDJ.EXE to create bound executable. The
- program BINDDJ puts a stub and the a.out program together:
-
- > BINDDJ stubdj.exe myfile myfile.exe
-
- Stubdj executes RSX if a DPMI-server is there, and go32.exe if there is no
- DPMI-server. To change the gcc compiler exe-stub, use EXE2AOUT from djgpp
- to get the a.out file and use the BINDDJ command to create the new stub.
-
- Example:
- C:\GCC\BIN> exe2aout gcc.exe
- C:\GCC\BIN> binddj stubdj.exe gcc gccd.exe (copy stubdj+gcc gccd.exe)
-
-
- [4] Building library LIBRSX.A
- If you want to use signals(), ptrace(), wait(), etc you must build
- the library 'librsx.a'.
- Read the file 'readme' in the \rsx\source\djlibrsx to install
- this futures.
-
-
-
-
- Major BUGS in tested Hosts :
- ----------------------------
-
- running MS-Windows 3.1
- (exception 3 is not used, int3 handler must installed)
-
- running QEMM + QDPMI 1.01
- - page faults terminate program
- - QDPMI virtuel memory error after memory resize fails (page fault)
- (can happen in GDB.EXE)
-
- running 386MAX 6.00 (the new version 7.00 is ok)
- - control-c handler will never called
-
-
-
-
-
- Patch for next EMX-Update:
- --------------------------
-
- If you upgrade a new EMX version (maybe emx0.8i ?), you always get a warning
- message, if you run the rsx.exe file.
-
- Now you can patch the RSX.EXE file:
-
- Take a good Hexdump-editor
- Load RSX.EXE
- Search for reversed version number "h8.0"
- Change this value
- Save RSX.EXE
-
-
-
- Error messages from RSX:
- ------------------------
-
- "No DPMI-host found!"
- There is no DPMI-server. Use EMX instead.
-
- "32bit programs not supported"
- The DPMI-server supports only 16-bit programs. You can't use RSX.
-
- "Can't alloc memory for the DPMI-host-stack"
- The DPMI-server needs some DOS memory for RSX.
- Do you have enough DOS memory?
-
- "can't switch to Protected Mode"
- DPMI-server can't switch RSX in Protected Mode.
- Do you have enough extended memory?
-
- "No DPMI-server 387 support", "use -e option"
- DPMI-server doesn't support a coprocessor. Use 'RSX -e prog' or set
- the environment 'RSXOPT=-e'.
-
- "error:can't get int21", "error:can't set int21"
- RSX can't change the interrupt vector 0x21.
-
- "error: not a valid PSP option -/xxxx/\n"
- EMXBIND error in bound executable.
-
- "Can't find RSX387"
- Set the environment RSX387 like RSX387=c:\rsx\fpu-emu\rsx387
-
- "Can't load emu: "
- Not enough memory for 387 emulator. Try -p option or increase DOS
- memory.
-
-